package com.jdaoyun.a_empcsApi.entity;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.NoArgsConstructor;

import javax.xml.ws.BindingType;

/**
 * 消息推送日志表(PushMessageLog)实体类
 *
 * @author makejava
 * @since 2025-08-27 19:02:21
 */
@Data
@TableName("push_message_log")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class PushMessageLog implements Serializable {
    private static final long serialVersionUID = -47964760477788093L;


    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 租户ID
     */
    @TableField("tenantId")
    private Integer tenantId;


    /**
     * 根据不同的type区分推送内容
     * 1.机构信息
     * 2.车辆信息
     * 3.司机信息
     * 4.各机构的医护人员信息
     * 5.急救记录：各机构 医患信息,---接警信息
     * 6.急救记录：各机构 急救时间点
     * 7.急救记录：任务 各用时情况
     * 8.急救记录：各任务 诊断情况
     * 9.车辆实时位置
     */
    @TableField("type")
    private Integer type;


    /**
     * 推送目标URL
     */
    @TableField("targetUrl")
    private String targetUrl;


    /**
     * 请求头
     */
    @TableField("requestHead")
    private String requestHead;


    /**
     * 加密前请求体
     */
    @TableField("requestBody")
    private String requestBody;


    /**
     * 加密后请求体
     */
    @TableField("requestContent")
    private String requestContent;


    /**
     * 响应内容
     */
    @TableField("responseContent")
    private String responseContent;


    /**
     * 响应Code
     */
    @TableField("responseCode")
    private Integer responseCode;


    /**
     * 返回data内容
     */
    @TableField("responseData")
    private String responseData;


    /**
     * 推送状态
     */
    @TableField("status")
    private String status;


    /**
     * 重试次数
     */
    @TableField("retryCount")
    private Integer retryCount;


    /**
     * 错误信息
     */
    @TableField("errorMessage")
    private String errorMessage;


    /**
     * 计划推送时间
     */
    @TableField("scheduledTime")
    private String scheduledTime;


    /**
     * 实际推送时间
     */
    @TableField("pushTime")
    private String pushTime;


    /**
     * 创建时间
     */
    @TableField("createTime")
    private Date createTime;


    /**
     * 更新时间
     */
    @TableField("updateTime")
    private Date updateTime;


    /**
     * 执行的方法
     */
    @TableField("method")
    private String method;


}

